#!/usr/bin/python3
#定义多个数求和     *+变量名即定义个数可变的位置行参 在函数内部是元组类型，位置参数可以代表定义多个数值
def get_sum(*args):
    sum = 0
    for num in args:
        sum += num
    return sum
#位置参数的第一种传递方式：
sum = get_sum(10,20,30)
print("sum:",sum)

#位置参数的第二种传递方式: 如果列表、元组调用自定义函数时都要加上* ，*表示将整个类型进行解包。
# 如果不加*自定义函数认为是列表形式，会报错。元组的话内部认为是一个元素还是会报错。
nums1 = [1,2,3,4]
print("nums1=", *nums1)
sum = get_sum(*nums1)
print("sum:",sum)
nums2 = (10,20,30,40)
sum = get_sum(*nums2,50,60)
#*表示整个类型进行解包，10,20,30,40
print("sum:",sum)
#关键字传参：调用函数赋值a,b,c的内容
# **kwargs 个数可变的关键字行参 在函数内部是个字典 需要写说明文档，包含什么
# def math_operation(a,b,c):
#     r = a+b-c
#     return r
# result1 = math_operation(c=10,b=20,a=15)
# print(f'result1={result1}')
def test_operation(**kwargs):
    print("kwargs",kwargs)
test_operation(c=10,b=20,a=15)
dict = {'a':100,'b':200,'c':150}
test_operation(**dict)
#综合以上参数：
def operation(n1,n2,n3,*args,**kwargs):
    print('n1:',n1)
    print('n2',n2)
    print('n3',n3)
    print('*args',args)
    print('**kwargs',kwargs)
operation(10,20,30,40,50,60,a=100,b=200,c=300)
def some_func():
    pass
    print("some_func")

if __name__ == '__main__':
    pass
some_func()
#电商购物车项目
name_list = ['小明','小敏','小王','小李']
name_list.append('小红')
print(name_list)
name_list.insert(0,'小兰')
print('新列表:',name_list)
new_list = ['小美','小敏']
name_list.extend(new_list)
print('追加新表后列表:',name_list)
name_list.remove("小明")
print('删除小明后的列表：',name_list)
name_list.clear()
print('删除后的列表：',name_list)
#列表元素的排序
num_list = [13,43,21,63,67,49,74]
num_list.sort()
print('升序后的列表:',num_list)
num_list.sort(reverse=True)
print('降序后的列表:',num_list)
num1_list = [13,43,53,21,21,67,49,72]
copy_list = sorted(num1_list)
print('内置函数排序：',num1_list)
max = max(num1_list)
print('最大值：',max)
min = min(num1_list)
print('最小值：',min)
count = num1_list.count(21)
print('21出现的次数:',count)


#字典的遍历 key---value
scores = {'张三':100,'王五':98}
print(scores["王五"])
scores["李四"] = 30
age = 89
scores["赵六"] = age
scores["赵六"] = 1

print(scores)
name = '王五'
score = scores[name]
print(score)

if score > 90:
    print(f'{name}的成绩 > 90')
else:
    print(f'{name}的成绩 < 90')

keys = scores.keys()
for key in keys:
    print({scores[key]})
print(scores.get('张三'))
scores["张三"] = 99
print(scores)